package com.cswnode.Dao;

import com.cswnode.Entity.Message;
import org.apache.ibatis.annotations.Mapper;

import java.util.List;

/**
 * @author csw
 * @create 2020/9/25 21:46
 */
@Mapper
public interface MessageMapper {
    /**
     * 查询所有的消息列表，返回最新的消息信息
     * @param userId
     * @param offset
     * @param limit
     * @return
     */
    List<Message> selectConversations(int userId,int offset,int limit);

    /**
     * 查询所有的会话列表的个数
     * @param userId
     * @return
     */
    int selectConversationCount(int userId);

    /**
     * 查询某个会话的私信列表信息
     * @param conversationId
     * @param offset
     * @param limit
     * @return
     */
    List<Message> selectPrivateMessageList(String conversationId,int offset,int limit);

    /**
     * 查询某个会话的私信的数量
     * @param conversationId
     * @return
     */
    int selectPrivateMessageCount(String conversationId);

    /**
     * 查询某个会话的未读信息，如果没有会话Id，就查询该用户所有的未读信息
     * @param userId
     * @param conversationId
     * @return
     */
    int selectUnreadMessage(int userId,String conversationId);

    /**
     * 插入消息
     * @param message
     * @return
     */
    int insertMessage(Message message);

    int updateMessageStutas(List<Integer> ids,Integer status);
}
